package com.wanmait.schedule.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.time.LocalDateTime;

import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * 通知
 * </p>
 *
 * @author wanmait
 * @since 2022-12-05
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Accessors(chain = true)
public class Notice {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 公告标题
     */
    private String title;

    /**
     * 公告内容
     */
    private String content;

    /**
     * 录入时间
     */
    private LocalDateTime inputTime;

    /**
     * 录入人id
     */
    private Integer inputId;

    /**
     * 等级id
     */
    private Integer levelId;

    /**
     * 类型id
     */
    private Integer typeId;

    /**
     * 是否发布
     */
    private Boolean publish;

    /**
     * 是否撤销
     */
    private Boolean repeal;

    /**
     * 撤销人id
     */
    private Integer repealId;

    /**
     * 撤销时间
     */
    private LocalDateTime repealTime;

    /**
     * 通知数量
     */
    private Integer noticeNumber;

    /**
     * 阅读数量
     */
    private Integer readNumber;

    /**
     * 删除
     */
    @TableLogic
    private Boolean enable;
    /**
     * 等级
     */
    @TableField(exist = false)
    private NoticeLevel noticeLevel;
    /**
     * 类型
     */
    @TableField(exist = false)
    private NoticeType noticeType;

    /**
     * 撤销人
     */
    @TableField(exist = false)
    private Teacher repealTeacher;

    /**
     *录入人
     */
    @TableField(exist = false)
    private Teacher inputTeacher;

    /**
    * 模糊查询
    */
    @TableField(exist = false)
    private String fuzzy;

}
